豆包 app 博客 agent 应用经验
早上听别人分享
背景
Agent 概述
播客/故事 Agent 是豆包 App 里的一种特定垂类场景的 Agent。
-
触发机制:当用户发出相关指令(像“播放故事”、“播放播客”、“播放恐怖故事”等)时,就会触发Agent 进行回应。
-
核心呈现形式:展示前 N 条(N=4)内容总结+音频卡片。
业务目标与核心功能
主要业务目标是增加用户人均在线时长。主要具备三项功能:
- 播控指令响应(通过用户 query 操作音频的播放、停止等)。
- 知识问答支持(供用户针对音频中的相关问题进行作答)。
- 相关性搜索与推荐(提升查询的相关性并推荐符合用户兴趣的音频)。
当前业务问题
在播客/故事场景的指标优化(人均播放时长)方面,主要面临以下几个问题:
- 搜索相关性不足:冷启阶段样本稀疏 / 低算力,难以保证搜索准确性
- 推荐多样性缺失:单一相关性算法导致内容同质化,核心指标(人均播放时长)增长受限
- 物料天花板限制:物料时长偏短,高质量长时长物料供给不足
1. 优化搜索相关性
搜索系统的构建中,主要会遇到两个问题:
- 缺乏样本且无人力进行打标,如果构建相关模型的训练样本?
- 如何对线上模型的相关性进行监控?
- 在 GPU 资源匮乏(一张卡)的情况下,如果保证低延时且高准确?
1.1 LLM 生成模型训练样本
- 可用于训练的样本数量稀少。由于query与音频的内容高度相关,因此可采用提示(prompt)的方式,输入播客的标题、简介和总结等信息来反向生成query。
- 在负样本的构建过程中,若仅选取非同聚类簇音频query作为负样本,将导致缺乏Hard
sample,使得模型学习过程过于简单。因此,需要从同聚类簇中抽取query,组合为hard sample(在训练集中占比 15%-20%)。构造样本量级
100w+。